From: Colin Walters Date: Sat, 24 Oct 2009 17:40:13 +0000 (-0400) Subject: Store GjsContext pointer in ShellGlobal X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10704 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=baf823c46663228e109a2536de2ecb005cb6697d;p=gnome-shell.git Store GjsContext pointer in ShellGlobal Future functionality in ShellGlobal needs access to the GjsContext. https://bugzilla.gnome.org/show_bug.cgi?id=599561 --- diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c index 0485480f7..bf6c6a04f 100644 --- a/src/gnome-shell-plugin.c +++ b/src/gnome-shell-plugin.c @@ -40,7 +40,7 @@ #include "display.h" -#include "shell-global.h" +#include "shell-global-private.h" #include "shell-wm.h" static void gnome_shell_plugin_constructed (GObject *object); @@ -192,6 +192,8 @@ gnome_shell_plugin_constructed (GObject *object) shell_plugin->gjs_context = gjs_context_new_with_search_path(search_path); g_strfreev(search_path); + _shell_global_set_gjs_context (shell_global_get (), shell_plugin->gjs_context); + if (!gjs_context_eval (shell_plugin->gjs_context, "const Main = imports.ui.main; Main.start();", -1, diff --git a/src/shell-global-private.h b/src/shell-global-private.h new file mode 100644 index 000000000..234388c04 --- /dev/null +++ b/src/shell-global-private.h @@ -0,0 +1,12 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#ifndef __SHELL_GLOBAL_PRIVATE_H__ +#define __SHELL_GLOBAL_PRIVATE_H__ + +#include "shell-global.h" + +#include + +void _shell_global_set_gjs_context (ShellGlobal *global, + GjsContext *context); + +#endif /* __SHELL_GLOBAL_PRIVATE_H__ */ diff --git a/src/shell-global.c b/src/shell-global.c index bad17065c..ccb373480 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -18,6 +18,7 @@ #include #include #include +#include #define SHELL_DBUS_SERVICE "org.gnome.Shell" @@ -37,7 +38,8 @@ struct _ShellGlobal { ShellStageInputMode input_mode; XserverRegion input_region; - + + GjsContext *js_context; MutterPlugin *plugin; ShellWM *wm; const char *datadir; @@ -445,6 +447,13 @@ _shell_global_set_plugin (ShellGlobal *global, global->wm = shell_wm_new (plugin); } +void +_shell_global_set_gjs_context (ShellGlobal *global, + GjsContext *context) +{ + global->js_context = context; +} + /** * shell_global_begin_modal: * @global: a #ShellGlobal